package com.glory.erp.auth.emp.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.glory.erp.auth.base.BaseService;
import com.glory.erp.auth.emp.bean.Emp;

/**
 * @Description: 员工业务
 * @Title: EmpService.java
 * @Author: 樊双峰
 * @Date: 2018年5月18日 上午12:53:22
 * @Version V1.0
 */
@Transactional
public interface EmpService extends BaseService<Emp> {

	/**
	 * 
	 * @Description: 根据用户名密码登录
	 * @Title: login
	 * @Author: 樊双峰
	 * @Param: @param userName
	 * @Param: @param password
	 * @Param: @return
	 * @return: Emp 登录用户信息。如果返回null，表示登录失败
	 * @Date: 2018年5月18日 下午10:47:16
	 * @throws
	 */
	public Emp login(String userName, String password, String loginIp);

	/**
	 * @Description: 修改密码
	 * @Title: changePwd
	 * @Author: 樊双峰
	 * @Param: @param userName 用户名
	 * @Param: @param password 密码
	 * @Param: @param newPassword1 新密码
	 * @Param: @param newPassword2 确认密码
	 * @return: void
	 * @Date: 2018年5月20日 下午12:49:35
	 * @throws   
	 */
	public boolean changePwd(String userName, String password,
			String newPassword1, String newPassword2);

	/**
	 * @Description: 员工添加（新）
	 * @Title: save
	 * @Author: 樊双峰
	 * @Param: @param emp
	 * @Param: @param roleUuids
	 * @return: void
	 * @Date: 2018年5月20日 下午10:25:55
	 * @throws   
	 */
	public void save(Emp emp, Long[] roleUuids);

	/**
	 * @Description: 员工修改（新）
	 * @Title: update
	 * @Author: 樊双峰
	 * @Param: @param emp
	 * @Param: @param roleUuids
	 * @return: void
	 * @Date: 2018年5月20日 下午11:00:14
	 * @throws   
	 */
	public void update(Emp emp, Long[] roleUuids);

	/**
	 * @Description: 获取指定部门所有员工信息
	 * @Title: findByDept
	 * @Author: 樊双峰
	 * @Param: @param uuid 部门uuid
	 * @Param: @return
	 * @return: List<Emp>
	 * @Date: 2018年6月8日 下午10:13:10
	 * @throws   
	 */
	public List<Emp> findByDept(Long uuid);
}